
Nate D
New Atlantis Tek Corporation The Nexus Alliance
|
Posted - 2007.09.05 04:01:00 -
[1]
Originally by: Buckthorn Edited by: Buckthorn on 02/08/2007 07:48:25
Originally by: Imhothar Xarodit Edited by: Imhothar Xarodit on 22/06/2007 19:57:13
Everybody who has played World of Warcraft has to admit that the way they handle the game threading is great.
Example: You fly into a very crowded city with a hundred players in there. Maybe your game will stall a few times for a second, but that is because it has to load the terrain and textures (and since you can travel on a whole continent without loaing screens it cannot be avoided) BUT these stalls are dependant on your harddrive's speed and if you have a fast one there are NO stalls at all.
Why is this so? Because the WoW engine does not wait for server packets, it is simply reading what is coming in!
So you enter the city, and you see some shadows appear which slowly build up to complete characters as you get more details about them and load their models/textures. The game does not wait till the whole city population is loaded, it just adds people to your environment while the server is feeding you with data.
THAT, ladies and gentlemen, is really the perfect solution.
Move the concept to EVE:
All server income is buffered in a seperat thread, sorted in priority queues and does not mess up your actual gameplay.
1) You open the market window, and it keeps "loading" in the background without stalling the game. Once tha data is complete it is displayed on the window.
2) You enter a gang and your client does not freeze until the whole gang list is loaded. Instead the game slowly adds member after member while your client is receiving the list.
3) You open "show info" on a person/corp/alliance, click on relationship and the game slowly adds entry after entry while it is receiving the list without stalling your game.
4) You jump into a new system and the gate there is crowded. The first and most important things to laod is overview and local. But instead of freezing the game until the loads are complete, let your overview and local list slowly fill with entries while your client receives the information. Heck, you have a whole 30 seconds of invulnerability (this contdown could be trggered after you are finished loading). Heck, this could even solve the black screen of death while undocking in crowded systems.
etc. etc.
There are tons of improvements just by moving the server comminucation to a seperate priority queue instead of having windows to wait for the data and interrupting the main game loop!!! Once you had this implemented, you could also very easily add the feature of pre-loading a grid while you are warping there as the client would already have the technique to buffer inputs until they are needed.
So signed! Used to play WoW as well, and loved the way THEY handle the load/communication-issues. Also, the fact that you were able to design and UPTIMIZE your UI the way you wanted it - removing all the stuff you didn't need on an individual basis - is fantastic. I'd like to see more of that in EVE as well. Furthermore I sign on the other suggestions for improvements posted in this thread! Let's hope CCP are listening!
No... I refuse to play and pvp in EVE if ships just fade in at leisure... it's all or none. Wow is terrible for this... I can recount several times that I've been killed by invisible (non-existent) enemy. This is very much like a desync.
-Nate
|